import axios from "axios";
import {
  // Loading,
  MessageBox
} from "element-ui";
console.log(process.env.NODE_ENV); //development  production
// 1.不同的环境  配置不同请求基本地址
var serice = axios.create({
  baseURL: process.env.NODE_ENV == "development" ?
    "/VueHandler" : "http://zainagou.com/list",
  timeout: 5000,
});
export default function requset(url, method = "get", params, header) {
  // 2. get 请求方式配置表单类型的请求头
  if (method == "get") {
    serice.defaults.headers["Content-type"] =
      "application/x-www-form-urlencoded";
  }
  // 3.post请求方式 根据参数配置了不同的请求头
  if (method == "post") {
    if (header == "mul") {
      //上传的请求头
      // multipart / form - data;
      serice.defaults.headers["Content-type"] = "multipart/form-data";
    } else {
      serice.defaults.headers["Content-type"] = "application/json";
    }
  }
  // 配置请求拦截器
  // 4. 请求拦截器 配置loading效果 token拦截
  // 携带到请求头  发送给后台
  serice.interceptors.request.use((config) => {
    // Loading.service({ fullscreen: true });
    if (localStorage.token) {
      config.headers.Authorization = "Bearer " + localStorage.token;
    }
    return config;
  });
  // 配置响应拦截器
  // 响应拦截器 关闭loading
  //根据公司的数据状态码  完成公共提示

  serice.interceptors.response.use((respones) => {
    // Loading.service({ fullscreen: true }).close(); //关闭loding
    // 公共提示
    if (respones.status == "404") {
      MessageBox.alert("请求地址错误");
    } else if (respones.code == "50001") {
      MessageBox.alert("登录过期");
    } else if (respones.code == "700") {
      MessageBox.alert("暂无数据");
    }

    return respones;
  });

  return serice({
    url: url,
    method: method,
    [method == "get" ? "params" : "data"]: params,
  });
}